package com.formula.propertyshop.service;

import java.util.List;

import android.graphics.Bitmap;

import com.formula.propertyshop.model.Contact;
import com.formula.propertyshop.model.Course;
import com.formula.propertyshop.model.CourseRegisterRequest;
import com.formula.propertyshop.model.Feedback;
import com.formula.propertyshop.model.FeedbackTemplate;
import com.formula.propertyshop.model.GCMRegisterRequest;
import com.formula.propertyshop.model.ListCourse;
import com.formula.propertyshop.model.LoanCalculateRequest;
import com.formula.propertyshop.model.POSTResponse;
import com.formula.propertyshop.model.Property;
import com.formula.propertyshop.model.PropertyDetail;
import com.formula.propertyshop.model.PropertyLocation;
import com.formula.propertyshop.model.PropertyType;
import com.google.android.gms.maps.model.LatLng;


public interface IWireFrameService {
	public <T> T get(String url, Class type) throws Exception;
	public <T>List<T>getList(String url, Class type)throws Exception;
	public List<Property> getProperties(int offset, int count)throws Exception;
	public PropertyDetail getProperty (int id)throws Exception;
	public ListCourse getCourses(int offset, int count)throws Exception;
	public Course getCourse(int id)throws Exception;
	public POSTResponse registerCourse(CourseRegisterRequest course)throws Exception;
	public POSTResponse sendContact(Contact contact)throws Exception;
	public List<FeedbackTemplate> getFeedbackTemplate()throws Exception;
	public POSTResponse sendFeedback(Feedback feedback)throws Exception;
	public List<PropertyType>getPropertyTypes()throws Exception;
	public List<PropertyLocation>getPropertyLocations()throws Exception;
	public List<Property> getSearchProperty(String url)throws Exception;
	public Bitmap calculate(LoanCalculateRequest request)throws Exception;
	public LatLng getGoogleLocation(String address) throws Exception;
	public POSTResponse registerGCMKey(GCMRegisterRequest request)throws Exception;
}
